Location based wireless tower caching

ABSTRACT

Embodiments of the present invention provide a method, system and computer program product for wireless tower caching. In an embodiment of the invention, a method for wireless tower caching in a radio access network (RAN) can include receiving a response to a request from an end user device wirelessly coupled to a base station of the RAN, determining geographic positioning data for the response and identifying a most geographically wireless tower coupled to the RAN relative to the determined geographic positioning data (such as the closest wireless tower to the determined geographic positioning data). Thereafter, the response can be cached at a cache in a base station of the identified wireless tower. In this way, the cached content can remain relevant for a significant period of time in as much as the correlation between a likely position of the end user device and the content cached at the base station of the wireless tower at the time of use of the cached content is strong.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention relates to content retrieval services provided ina radio access network and more particularly to the caching of retrievedcontent in a radio access network.

2. Description of the Related Art

The radio access network (RAN) provides for the foundation of moderncellular telephony. The RAN functions to join different end user mobiledevices to a core network (CN) such that individuals can enjoytelephonic and data communications wirelessly within a geographic areacovered by the various base stations of the radio access network.Generally speaking, the RAN provides the requisite infrastructure topass both voice and data traffic from the over-the-air medium to boththe terrestrial circuit switched communication network and the packetswitched data communications network inclusive of the global Internet.

At present, several standards have been implemented in connection withthe RAN. Examples include the global system for mobile communications(GSM), the universal mobile telecommunications system (UMTS) and the GSM“Edge” RAN (GERAN). The RAN generally includes multiple different radionetwork controllers (RNC) each managing a set of base stations providingwireless connectivity to a geographic cell. The entirety of thedifferent RNCs of the RAN are linked to what is known as the cellulardata core or CN through a gateway known as the serving generalized radiopacket service node (SGSN). The CN provides various services tocustomers who are connected by the RAN. One of the main functions is toroute calls across the public switched telephone network (PSTN). Anotheris to route data packets onto an Internet protocol (IP) network such asthe global Internet so that end users of the RAN can access servicesprovided by a content delivery network (CDN). To that end, the CNincludes a gateway known as the gateway GPRS service node (GGSN).

The typical CDN can provide for advanced content delivery services suchas content caching and content filtering. Content caching refers to theintermediate temporary storage of previously retrieved content under theassumption that a temporally proximate subsequent request for thecontent can be satisfied from temporary storage rather than repeating amore time consuming request for content in the CDN. In contrast, contentfiltering refers to the restriction of the delivery of requested contentwhen the content meets a particular profile such as being published by aparticular source or incorporating particular subject matter. In bothinstances, the packet processing requisite to performing advancedcontent services often demand that those services are provided withinthe CN where the communications protocol utilized in the CN isconsistent with that of the global Internet—namely the transport controlprotocol (TCP) over IP.

Even still, some have suggested placing support for content servicessuch as content caching and content filtering within the RAN. In thisregard, United States Patent Application Publication No. 20100034089 byKovvali et al. suggests the placement of content caching services withinthe RAN and the extraction of TCP/IP payloads from the RAN protocolspecific to the RAN. Of note, unlike traditional caching schemes in atraditional computing environments, in a mobile computing environmentsuch as that supported by a RAN, end users traverse the RANcommunicating directly with different base stations at differentwireless towers along a path of travel. Thus, placing long lastingcontent services like caching in a base station can result in cachedcontent being rendered largely useless as an end user travels out ofrange of the wireless tower of the base station.

BRIEF SUMMARY OF THE INVENTION

Embodiments of the present invention address deficiencies of the art inrespect to content caching in the RAN and provide a novel andnon-obvious method, system and computer program product for wirelesstower caching. In an embodiment of the invention, a method for wirelesstower caching in a RAN can include receiving a response to a requestfrom an end user device wirelessly coupled to a base station of the RAN,determining geographic positioning data for the response and identifyinga most geographically relevant wireless tower coupled to the RANrelative to the determined geographic positioning data (such as thewireless tower closest to the determined geographic positioning data).Thereafter, the response can be cached at a cache in a base station ofthe identified wireless tower. In this way, the cached content canremain relevant for a significant period of time in as much as thecorrelation between a likely position of the end user device and thecontent cached at the base station of the wireless tower at the time ofuse of the cached content is strong.

In another embodiment of the invention, a RAN based data processingsystem can be configured for location based wireless tower caching. Thesystem can include different base stations each disposed in a respectivewireless tower and each including an antenna, a receiver, a transmitter,a processor, a local cache, and a network interface to a datacommunications network. The system also can include an RNC coupled toeach base station over the data communications network. Further, acaching module can be disposed in each base station and coupled to acache. Finally, a location based wireless tower caching module canexecute in the RNC.

The module can include program code enabled to receive a response to adata request from one of the base stations on behalf of an end userdevice, to determine geographic positioning data for the response, toidentify a wireless tower coupled to the RAN and positioned closest tothe determined geographic positioning data, and to direct caching of theresponse at a cache in a particular one of the base stations of theidentified wireless tower. For instance, in one aspect of theembodiment, the response can include a map generated from an addresssupplied by the end user device or a point of interest of a mapgenerated from an address supplied by the end user device. In anotheraspect of the embodiment, the geographic positioning data can includegeographic positioning system (GPS) coordinates. In yet another aspectof the embodiment, the geographic positioning data can include at leasta portion of the address supplied by the end user device.

Additional aspects of the invention will be set forth in part in thedescription which follows, and in part will be obvious from thedescription, or may be learned by practice of the invention. The aspectsof the invention will be realized and attained by means of the elementsand combinations particularly pointed out in the appended claims. It isto be understood that both the foregoing general description and thefollowing detailed description are exemplary and explanatory only andare not restrictive of the invention, as claimed.

BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWINGS

The accompanying drawings, which are incorporated in and constitute partof this specification, illustrate embodiments of the invention andtogether with the description, serve to explain the principles of theinvention. The embodiments illustrated herein are presently preferred,it being understood, however, that the invention is not limited to theprecise arrangements and instrumentalities shown, wherein:

FIG. 1 is a pictorial illustration of a process for wireless towercaching in a RAN;

FIG. 2 is a schematic illustration of a RAN data processing systemconfigured for wireless tower caching; and,

FIG. 3 is a flow chart illustrating a process for wireless tower cachingin a RAN.

DETAILED DESCRIPTION OF THE INVENTION

Embodiments of the invention provide for wireless tower caching in aRAN. In accordance with an embodiment of the invention, a contentrequest can be received from a mobile communications device in a RAN.The requested content, for example a map or one or more points ofinterest associated with a geographic position on a map, can beretrieved into the RAN from a content server disposed in acommunicatively coupled data communications network such as the globalInternet. Thereafter, geographic coordinates associated with therequested content can be compared to known geographic coordinates ofdifferent wireless towers in the RAN. Finally, a wireless tower in theRAN with known geographic coordinates most geographically relevant tothe geographic coordinates associated with the requested content can beselected and the requested content can be cached in a base station forthe selected wireless tower.

In further illustration, FIG. 1 pictorially shows a process for wirelesstower caching in a RAN. As shown in FIG. 1, a cellulartelecommunications network can be provided to include different basestations 120 arranged to provide wireless telephonic access to differentend user devices 110 for the PSTN 140. Clusters of the base stations 120can be communicatively linked to a common RNC 130 that in turn can becoupled to a CN 150 thus forming a RAN. The CN 150 can include both aSGSN 160A acting as a gateway for traffic between the CN 150, the PSTN140 and each RNC 130, and also a GGSN 160B acting as a gateway betweenthe CN 150 and the data communications network 100—typically the globalInternet. The CN 150 itself can support a number of content services 170as is well known in the art.

Of note, a data processing system for location based wireless towercaching 190A can be disposed in the RNC 130 and can be configured forcommunicative coupling to different content caches 190B each executingin respectively different base stations 120. The data processing system190A can include program code that when executed in the data processingsystem, processes location based content 190C retrieved in response to acontent request originating from an end user device 110 by way of acorresponding base station 120, from a content server 180 on the datacommunications network 100 by way of the CN 150. Specifically, the dataprocessing system 190A can determine geographic positioning dataassociated with the content 190C such as particular GPS coordinatesassociated with a point of interest on a map, or an address from which amap is produced. The data processing system 190A further can identify awireless tower hosting a correspondingly different one of the basestations 120 at a position most geographically relevant to thegeographic positioning data associated with the content 190C (forexample the closest wireless tower). Thereafter, the data processingsystem 190A can direct caching of the content 190C in a base station 120in the selected wireless tower.

In yet further illustration, FIG. 2 is a schematic illustration of a RANdata processing system configured for wireless tower caching. The systemcan include a base station 200A coupled to an RNC 200B over acommunications network 250, commonly an IP network or an asynchronoustransfer mode (ATM) network. The base station 200A can include areceiver/transmitter 230 receiving over-the-air communications fromdifferent end user devices within transmission range of the base station200A by way of antenna 265, and routing the same to the RNC 200B by wayof a network interface 210. A processor 240 can be provided to performcomputational processing on received data as the data is placed inmemory 220. A caching module 280 coupled to a content cache 275 canexecute by the processor 240 of the base station 200A. The cachingmodule 280 can perform caching of cacheable content in the cache 275 forcontent received in the base station 200A in response to requests fromcoupled end user devices and from directives received from the RNC 200B.

The RNC 200B, in turn, can include a host computer 260 with at least oneprocessor and memory supporting the execution of an operating system270. The operating system 270 in turn can host the execution of alocation-based wireless tower caching module 300. The location-basedwireless tower caching module 300 can include program code that whenexecuted in the operating system 270, can receive responses to requestsfrom over the data communications network 250 can determine geographicpositioning data for a response to a request from over the datacommunications network 250. The program code further can compare thedetermined geographic positioning data to a list of known locations 275of different wireless towers communicatively linked to the RNC 200B.Finally, the program code can direct caching of the response in a basestation 200A of a wireless tower identified as closest to the geographicpositioning data of the response.

In even yet further illustration, FIG. 3 is a flow chart illustrating aprocess for wireless tower caching in a RAN. Beginning in block 310, acontent request can be received from a base station on behalf of an enduser device wirelessly accessing the base station. In block 320, therequest can be routed onto the CN for ultimate processing by a contentprovider on the global Internet. In block 330, a response to the requestcan be received from over the CN and in block 340 geographic positioningdata for the response can be determined. For example, the GPScoordinates of a point of interest on a map, or an address from which amap has been generated in the response can be determined. In block 350,the determined geographic positioning data can be compared to a list ofknown locations of wireless towers communicatively coupled to the RAN.Subsequently, in block 350 a closest one of the wireless towers can beselected and in block 370 the response can be cached at a base stationof the selected wireless tower.

As will be appreciated by one skilled in the art, aspects of the presentinvention may be embodied as a system, method or computer programproduct. Accordingly, aspects of the present invention may take the formof an entirely hardware embodiment, an entirely software embodiment(including firmware, resident software, micro-code, etc.) or anembodiment combining software and hardware aspects that may allgenerally be referred to herein as a “circuit,” “module” or “system.”Furthermore, aspects of the present invention may take the form of acomputer program product embodied in one or more computer readablemedium(s) having computer readable program code embodied thereon.

Any combination of one or more computer readable medium(s) may beutilized. The computer readable medium may be a computer readable signalmedium or a computer readable storage medium. A computer readablestorage medium may be, for example, but not limited to, an electronic,magnetic, optical, electromagnetic, infrared, or semiconductor system,apparatus, or device, or any suitable combination of the foregoing. Morespecific examples (a non-exhaustive list) of the computer readablestorage medium would include the following: an electrical connectionhaving one or more wires, a portable computer diskette, a hard disk, arandom access memory (RAM), a read-only memory (ROM), an erasableprogrammable read-only memory (EPROM or Flash memory), an optical fiber,a portable compact disc read-only memory (CD-ROM), an optical storagedevice, a magnetic storage device, or any suitable combination of theforegoing. In the context of this document, a computer readable storagemedium may be any tangible medium that can contain, or store a programfor use by or in connection with an instruction execution system,apparatus, or device.

A computer readable signal medium may include a propagated data signalwith computer readable program code embodied therein, for example, inbaseband or as part of a carrier wave. Such a propagated signal may takeany of a variety of forms, including, but not limited to,electro-magnetic, optical, or any suitable combination thereof. Acomputer readable signal medium may be any computer readable medium thatis not a computer readable storage medium and that can communicate,propagate, or transport a program for use by or in connection with aninstruction execution system, apparatus, or device.

Program code embodied on a computer readable medium may be transmittedusing any appropriate medium, including but not limited to wireless,wireline, optical fiber cable, radiofrequency, and the like, or anysuitable combination of the foregoing. Computer program code forcarrying out operations for aspects of the present invention may bewritten in any combination of one or more programming languages,including an object oriented programming language and conventionalprocedural programming languages. The program code may execute entirelyon the user's computer, partly on the user's computer, as a stand-alonesoftware package, partly on the user's computer and partly on a remotecomputer or entirely on the remote computer or server. In the latterscenario, the remote computer may be connected to the user's computerthrough any type of network, including a local area network (LAN) or awide area network (WAN), or the connection may be made to an externalcomputer (for example, through the Internet using an Internet ServiceProvider).

Aspects of the present invention have been described above withreference to flowchart illustrations and/or block diagrams of methods,apparatus (systems) and computer program products according toembodiments of the invention. In this regard, the flowchart and blockdiagrams in the Figures illustrate the architecture, functionality, andoperation of possible implementations of systems, methods and computerprogram products according to various embodiments of the presentinvention. For instance, each block in the flowchart or block diagramsmay represent a module, segment, or portion of code, which comprises oneor more executable instructions for implementing the specified logicalfunction(s). It should also be noted that, in some alternativeimplementations, the functions noted in the block may occur out of theorder noted in the figures. For example, two blocks shown in successionmay, in fact, be executed substantially concurrently, or the blocks maysometimes be executed in the reverse order, depending upon thefunctionality involved. It will also be noted that each block of theblock diagrams and/or flowchart illustration, and combinations of blocksin the block diagrams and/or flowchart illustration, can be implementedby special purpose hardware-based systems that perform the specifiedfunctions or acts, or combinations of special purpose hardware andcomputer instructions.

It also will be understood that each block of the flowchartillustrations and/or block diagrams, and combinations of blocks in theflowchart illustrations and/or block diagrams, can be implemented bycomputer program instructions. These computer program instructions maybe provided to a processor of a general purpose computer, specialpurpose computer, or other programmable data processing apparatus toproduce a machine, such that the instructions, which execute via theprocessor of the computer or other programmable data processingapparatus, create means for implementing the functions/acts specified inthe flowchart and/or block diagram block or blocks.

These computer program instructions may also be stored in a computerreadable medium that can direct a computer, other programmable dataprocessing apparatus, or other devices to function in a particularmanner, such that the instructions stored in the computer readablemedium produce an article of manufacture including instructions whichimplement the function/act specified in the flowchart and/or blockdiagram block or blocks. The computer program instructions may also beloaded onto a computer, other programmable data processing apparatus, orother devices to cause a series of operational steps to be performed onthe computer, other programmable apparatus or other devices to produce acomputer implemented process such that the instructions which execute onthe computer or other programmable apparatus provide processes forimplementing the functions/acts specified in the flowchart and/or blockdiagram block or blocks.

Finally, the terminology used herein is for the purpose of describingparticular embodiments only and is not intended to be limiting of theinvention. As used herein, the singular forms “a”, “an” and “the” areintended to include the plural forms as well, unless the context clearlyindicates otherwise. It will be further understood that the terms“comprises” and/or “comprising,” when used in this specification,specify the presence of stated features, integers, steps, operations,elements, and/or components, but do not preclude the presence oraddition of one or more other features, integers, steps, operations,elements, components, and/or groups thereof.

The corresponding structures, materials, acts, and equivalents of allmeans or step plus function elements in the claims below are intended toinclude any structure, material, or act for performing the function incombination with other claimed elements as specifically claimed. Thedescription of the present invention has been presented for purposes ofillustration and description, but is not intended to be exhaustive orlimited to the invention in the form disclosed. Many modifications andvariations will be apparent to those of ordinary skill in the artwithout departing from the scope and spirit of the invention. Theembodiment was chosen and described in order to best explain theprinciples of the invention and the practical application, and to enableothers of ordinary skill in the art to understand the invention forvarious embodiments with various modifications as are suited to theparticular use contemplated.

Having thus described the invention of the present application in detailand by reference to embodiments thereof, it will be apparent thatmodifications and variations are possible without departing from thescope of the invention defined in the appended claims as follows:

We claim:
 1. A radio access network (RAN) based data processing systemconfigured for location based wireless tower caching, the systemcomprising: a plurality of different base stations each coupled to arespective wireless tower and each of the plurality of different basestations comprising an antenna held by the respective wireless tower, areceiver, a transmitter, a processor, a local cache, and a networkinterface to a data communications network; a radio network controller(RNC) coupled to each of the plurality of different base stations overthe data communications network; a caching module disposed in each ofthe plurality of base stations and coupled to the local cache; and, alocation based wireless tower caching module executing in the RNC, thelocation based wireless tower caching module comprising program codeenabled to receive a response to a data request from one of theplurality of different base stations on behalf of an end user device,the response comprises at least one of a map generated from an addresssupplied by the end user device or a point of interest of a mapgenerated from an address supplied by the end user device, to determinegeographic positioning data for the response, to compare the determinedgeographic positioning data for the response to a list of locations ofwireless towers in the RAN to identify a most geographically relevantwireless tower coupled to the RAN relative to the determined geographicpositioning data, the most geographically relevant wireless tower beinggeographically closest to the received response to the data request, andto direct caching of the response at the local cache in a particular oneof the plurality of different base stations of the identified mostgeographically relevant wireless tower.
 2. The system of claim 1,wherein the geographic positioning data comprises geographic positioningsystem (GPS) coordinates.
 3. The system of claim 1, wherein thegeographic positioning data comprises at least a portion of the addresssupplied by the end user device.
 4. A computer program product forwireless tower caching in a radio access network (RAN), the computerprogram product comprising: a computer readable storage memory havingcomputer readable program code embodied therewith, the computer readableprogram code comprising: computer readable program code for receiving aresponse to a request from an end user device wirelessly coupled to abase station of the RAN, the base station comprising an antennasupported by a separate wireless tower, the response comprises at leastone of a map generated from an address supplied by the end user deviceor a point of interest of a map generated from an address supplied bythe end user device; computer readable program code for determininggeographic positioning data for the response; computer readable programcode for comparing the determined geographic positioning data for theresponse to a list of locations of wireless towers in the RAN toidentify a most geographically relevant wireless tower coupled to theRAN relative to the determined geographic positioning data, the mostgeographically relevant wireless tower being geographically closest tothe received response to the content request; and, computer readableprogram code for caching the response at a cache in the base station ofthe identified most geographically relevant wireless tower.
 5. Thecomputer program product of claim 4, wherein the computer readableprogram code for receiving a response to a request from an end userdevice wirelessly coupled to a base station of the RAN, comprisescomputer readable program code for receiving the response in a radionetwork controller (RNC) to the request from the end user devicewirelessly coupled to the base station of the RAN.
 6. The computerprogram product of claim 4, wherein the geographic positioning datacomprises geographic positioning system (GPS) coordinates.
 7. Thecomputer program product of claim 4, wherein the geographic positioningdata comprises at least a portion of the address supplied by the enduser device.